The present invention relates to digital video signal processing, and more particularly to devices and methods for video coding.
There are multiple applications for digital video communication and storage, and multiple international standards have been and are continuing to be developed. Low bit rate communications, such as, video telephony and conferencing, led to the H.261 standard with bit rates as multiples of 64 kbps, and the MPEG-1 standard provides picture quality comparable to that of VHS videotape.
H.264/AVC is a recent video coding standard that makes use of several advanced video coding tools to provide better compression performance than existing video coding standards such as MPEG-2, MPEG-4, and H.263. At the core of all of these standards is the hybrid video coding technique of block motion compensation plus transform coding. Generally, block motion compensation is used to remove temporal redundancy between successive images (frames), whereas transform coding is used to remove spatial redundancy within each frame. FIGS. 2a–2b illustrate the H.264/AVC functional blocks which include quantization of transforms of block prediction errors (either from block motion compensation or from intra-frame prediction) and entropy coding of the quantized items. The entropy coding may be either context-adpative variable-length coding (CAVLC) or context-based adaptive binary arithmetic coding (CABAC).
The rate-control unit in FIG. 2a is responsible for generating the quantization step (qp) by adapting to a target transmission bit-rate and the output buffer-fullness; a larger quantization step implies more vanishing and/or smaller quantized transform coefficients which means fewer and/or shorter codewords and consequent smaller bit rates and files.
Marpe et al, Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard, 13 IEEE Trans. Circuits and Systems for Video Tech. 620 (July 2003) describes the CABAC of H.264/AVC. CABAC has three main constituents: binarization of the input symbol stream (quantized transformed prediction errors) to yield a stream of bins, context modeling (conditional probability that a bin is 0 or 1 depending upon previous bin values), and binary arithmetic coding (recursive interval subdivision with subdivision according to conditional probability). To limit computational complexity, the conditional probabilities are quantized and the interval subdivisions are repeatedly renormalized to maintain dynamic range.
However, the computational complexity of the CABAC of H.264/AVC is a problem, especially for mobile, battery-powered devices.